<?xml version="1.0"?>
<component name="org.nuxeo.platform.audit.layoutContrib.override">

  <require>org.nuxeo.platform.audit.layoutContrib</require>

  <extension point="layouts" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">

    <layout name="basicauditsearch">
      <templates>
        <template mode="any">
          /layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>startDate</widget>
          <widget>endDate</widget>
        </row>
      </rows>
      <widget name="startDate" type="datetime">
        <labels>
          <label mode="any">label.audit.startDate</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:startDate</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
        </widgetModes>
        <properties widgetMode="view">
          <property name="pattern">#{nxu:basicDateAndTimeFormater()}</property>
        </properties>
        <properties widgetMode="edit">
          <property name="format">#{nxu:basicDateAndTimeFormater()}</property>
        </properties>
      </widget>
      <widget name="endDate" type="datetime">
        <labels>
          <label mode="any">label.audit.endDate</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:endDate</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
        </widgetModes>
        <properties widgetMode="view">
          <property name="pattern">#{nxu:basicDateAndTimeFormater()}</property>
        </properties>
        <properties widgetMode="edit">
          <property name="format">#{nxu:basicDateAndTimeFormater()}</property>
        </properties>
      </widget>
    </layout>

    <layout name="history_listing">
      <templates>
        <template mode="any">
          /layouts/layout_listing_ajax_template.xhtml
        </template>
        <template mode="csv">
          /layouts/layout_listing_csv_template.xhtml
        </template>
        <template mode="pdf">
          /layouts/layout_listing_pdf_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="showListingHeader">true</property>
        <property name="showRowEvenOddClass">true</property>
      </properties>
      <columns>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.eventId</property>
          </properties>
          <widget>eventId</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.eventDate</property>
          </properties>
          <widget>eventDate</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.principalName</property>
          </properties>
          <widget>username</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.category</property>
          </properties>
          <widget>eventCategory</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>taskDirective</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>dueDate</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>eventComment</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.docLifeCycle</property>
          </properties>
          <widget>eventLC</widget>
        </column>
      </columns>

      <widget name="eventId" type="text">
        <labels>
          <label mode="any">label.performedAction</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.eventId</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>

      <widget name="eventDate" type="datetime">
        <labels>
          <label mode="any">label.date</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.eventDate</field>
        </fields>
        <properties widgetMode="any">
          <property name="pattern">
            #{nxu:basicDateAndTimeFormatter()}
          </property>
          <!-- need to check if this is needed -->
          <property name="timezone">
            #{timeZone}
          </property>
        </properties>
        <properties mode="csv">
          <property name="csv_formatMask">#{nxu:basicDateFormatter()}</property>
          <property name="csv_forceType">date</property>
        </properties>
      </widget>

      <widget name="username" type="listing_author">
        <labels>
          <label mode="any">label.username</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.principalName</field>
        </fields>
      </widget>

      <widget name="eventCategory" type="text">
        <labels>
          <label mode="any">label.category</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data:category</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>

      <widget name="taskDirective" type="text">
        <labels>
          <label mode="any">label.workflow.task.directive</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.extendedInfos['directive'].serializableValue</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>

      <widget name="dueDate" type="datetime">
        <labels>
          <label mode="any">label.workflow.task.duedate</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.extendedInfos['dueDate'].serializableValue</field>
        </fields>
        <properties widgetMode="any">
          <property name="pattern">
            #{nxu:basicDateAndTimeFormatter()}
          </property>
          <!-- need to check if this is needed -->
          <property name="timezone">
            #{timeZone}
          </property>
        </properties>
      </widget>

      <widget name="eventComment" type="audit_comments">
        <labels>
          <label mode="any">label.comment</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.preprocessedComment</field>
        </fields>
      </widget>

      <widget name="eventLC" type="text">
        <labels>
          <label mode="any">label.lifecycle</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.docLifeCycle</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>

    </layout>

  </extension>

</component>
